MySQL SQL 查询执行流程
流程图
MySQL 大体可分为 server 层与 存储引擎
流程解释
1、连接器
管理连接,权限验证,当一个连接权限验证通过后,即使你使用管理员对这个用户的权限做了修改,对已经通过验证的接连也不会生效。只有新连接才会使用新的权限
2、查询缓存
命中则直接返回结果,缓存以 key=>value 的形式储存,key 为 SQL 语句,value 为查询的结果,查询缓存当出现更新时,当前表的所有缓存将被清空。
Note:因查询缓存往往弊大于利 MySQL 8 及以上版本查询缓存已经被抛弃
3、分析器
对 SQL 进程词法语法分析,并验证表与查询的字段是否存在
4、优化器
对 SQL 进行索引选择
5、执行器
执行 SQL 语句,查询存储引擎,返回结果
原文连接:https://time.geekbang.org/column/article/68319